EventBridge ルールでマルチアカウントの GuardDuty の検出結果の通知を特定のアカウントのみに除外する方法
困っていた内容
EventBridge ルールでマルチアカウントの GuardDuty の検出結果の通知を設定しております。 複数あるアカウントの内、特定のアカウントのみ除外にしたいのですが、可能でしょうか。
どう対応すればいいの?
EventBridge ルールのイベントパターンにて、anything-but
を利用して、除外したいアカウントを記載することで、特定のアカウントのみ除外することが可能となります。
例として、下記のように設定することができます。
{ "source": ["aws.guardduty"], "detail-type": ["GuardDuty Finding"], "detail": { "severity": [{ "numeric": [">=", 7] }], "accountId": [{ "anything-but": ["<AWSアカウントA>", "<AWSアカウントB>", "<AWSアカウントC>",] }] } }
上記の例では、重要度「高」の検出結果をAWSアカウントA、B、C 以外の AWSアカウントに通知する設定となります。
補足
多数のアカウントを管理しており、その内の少ない数のアカウントに対して、除外したい場合は、anything-but
を活用することができます。
なお、アカウントを2〜3つ管理している状態で、その内の特定のアカウントのみに通知したい場合は、下記の方法で実現することも可能です。
{ "source": ["aws.guardduty"], "detail-type": ["GuardDuty Finding"], "detail": { "severity": [{ "numeric": [">=", 7] }], "accountId": [ "<AWSアカウントA>" ] } }